home *** CD-ROM | disk | FTP | other *** search
- FTNLINT(1) Last changed: 7-25-97
-
-
- NNAAMMEE
- ffttnnlliinntt, ccfflliinntt - Checks Fortran programs for possible errors
-
- SSYYNNOOPPSSIISS
- ffttnnlliinntt [--hh] [--oo _f_i_l_e_n_a_m_e] [--rr _n_u_m_b_e_r] [--ss _n_u_m_b_e_r]
- [--VV] _f_i_l_e..ff[9900] [_f_i_l_e..TT] ...
-
- ccfflliinntt [--hh] [--oo _f_i_l_e_n_a_m_e] [--rr _n_u_m_b_e_r] [--ss _n_u_m_b_e_r]
- [--VV] _f_i_l_e..ff[9900] [_f_i_l_e..TT] ...
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- ffttnnlliinntt is supported on UNICOS, UNICOS/mk, and IRIX systems
-
- ccfflliinntt is supported on UNICOS and UNICOS/mk systems
-
- DDEESSCCRRIIPPTTIIOONN
- The ffttnnlliinntt and ccfflliinntt commands check Fortran programs for program
- constructs that may need further investigation (for example, arguments
- that are never used or local variables used before they are defined).
- ffttnnlliinntt and ccfflliinntt perform these checks on two levels: local per
- subprogram and global for all encountered subprograms.
-
- For each Fortran source file (..ff or ..ff9900 suffix) to be checked, you
- must supply a corresponding compiler information file (..TT suffix). On
- UNICOS and UNICOS/mk systems, create the CIF by executing the ff9900(1)
- command with the --CCaa option. On IRIX systems, create the CIF by
- executing the ff9900(1) command with the --cciiff option.
-
- The ffttnnlliinntt and ccfflliinntt commands support the following options:
-
- --hh Displays only command line options and suppressable message
- IDs (no program execution).
-
- --oo _f_i_l_e_n_a_m_e
- Writes the output to _f_i_l_e_n_a_m_e instead of ssttddoouutt.
-
- --rr _n_u_m_b_e_r Restores/enables subprogram or global message _n_u_m_b_e_r, which
- can be a range (for example, --rr2222--5511 or --rr550033--550077). The
- valid ranges for _n_u_m_b_e_r are 1 through 77 and 501 through
- 531. --rr 00 restores all messages. See individual message
- IDs for local and global messages in the table that follows
- (with --ss option).
-
- --ss _n_u_m_b_e_r Suppresses subprogram or global message _n_u_m_b_e_r, which can be
- a range (for example, --ss2222--5511 or --ss550033--550077). The valid
- values for _n_u_m_b_e_r range from 1 through 77 and 501 through
- 531.
-
- The following lists show the message IDs for local and
- global messages, any of which you can suppress by using the
- --ss option.
-
- Message IDs per subprogram encountered:
-
-
- 1 Local Variable ____ may be used before it is defined
- 2 Local Variable ____ is declared but never used
- 3 Local Variable ____ is used but never defined
- 4 Local Variable ____ is defined but never used
- 5 Local Variable ____ is DATA-initialized but may be
- redefined before used
- 6 Local Variable ____ is DATA-initialized but never used
- 7 Local Variable ____ is EQUIVALENCEd but never used
- 8 Multiword Variable ____ is EQUIVALENCEd but may overrun
- its COMMON block partner
- 9 Module Local Variable is never used
- 10 Local Variable ____, IntSubPgm ____ overrides host version
- 11 No references to COMMON /____/
- 12 No references to the INCLUDEd COMMON /____/
- 13 COMMON /____/ is both INCLUDEd and explicitly declared
- 14 COMMON /____/ is both explicitly declared and available
- via a MODULE
- 15 COMMON /____/ is never referenced in parent Module
- 21 Argument ____ is never used
- 22 CALL ____ has a different ArgCnt than previous CALL
- encountered
- 23 Argument ____ is used as a dimension and is modified
- 24 Argument ____ has INTENT(OUT) but is neither written nor
- passed
- 31 Warning: DO-Loop Index __ (line ___) is in COMMON
- 32 Warning: DO-Loop Index __ (line ___) is an Argument
- 33 Warning: DO-Loop Index __ (line ___) is a Module variable
- 41 No references to PARAMETER ____
- 42 No references to the INCLUDEd PARAMETER ____
- 43 No reference to the Module PARAMETER ____
- 51 Subprogram ____ has neither a RETURN nor a STOP statement
- 52 Subprogram ____ appears to not do anything
- 53 __ Unused label(s)
- 54 FUNCTION ____ side-effect: Argument(s) are written
- 55 FUNCTION ____ side-effect: COMMON Block(s) are written
- 57 Internal Subprogram ____ is never called
- 58 Duplicate SubPgm name ____
- 61 No references to Statement Function ____
- 62 Line ____ is not reachable
- 63 NAMELIST /____/ is never used
- 65 Cray Pointer/ee ____ may be used before it is defined
- 66 Cray Pointer/ee ____ is declared but never used
- 67 Cray Pointer/ee ____ is used but never defined
- 68 Cray Pointee ____ is defined but never used
- 69 Cray Pointee ____ is used but associated Pointer ____ not
- defined
- 71 EQUIVALENCEd LocalVar ____ has same name as MODULE
- variable
- 72 EQUIVALENCEd LocalVar ____ has same name as MODULE
- ComBlk variable
- 73 No references to imported MODULE
- 74 No references to USEd Module
- 75 Module ____ USEd more than once
- 76 USEd Module ____ also imported into parent Module
- 77 Duplicate Module name ____
-
- Message IDs for global call-chain concerns:
-
-
- 501 No callers
- 502 Argument count mismatch
- 503 Argument type mismatch
- 504 Expression passed as argument, Callee writes/passes
- 505 Expression passed as argument, Callee expects array
- 506 DO-Loop index sent as argument, Callee writes/passes it
- 507 Argument dimensionality mismatch
- 508 Duplicate argument sent, Callee writes/passes one
- 509 Argument sent from COMMON, Callee writes that COMMON
- 510 Possible hidden alias
- 511 COMMON Block length mismatch
- 512 COMMON block is never used
- 513 COMMON block is read-only
- 514 COMMON block is write-only
- 515 NAMELIST length mismatch
- 516 FUNCTION return value mismatch
- 517 F90 argument attribute mismatch
- 518 F90 caller: required explicit interface block missing
- 519 F90 dummy argument INTENT error
- 520 Subprogram needs RECURSIVE keyword
- 521 SUBROUTINE/FUNCTION CALL mismatch
- 522 Duplicate Subprogram name
- 523 Duplicate Module name
- 524 Argument (Subprogram) mismatch
- 525 Argument (Derived Type) mismatch
- 526 Possible argument (SUBROUTINE/FUNCTION) mismatch
- 527 Alternate ENTRY has no callers
- 528 Subprogram/Interface Block mismatch
- 529 Common block has multiple SubPgm DATA initializations
- 530 Argtype (Alternate-RETURN-label) mismatch
- 531 FUNCTION return value dimension mismatch
-
-
- --VV Prints version information to the ssttddeerrrr file.
-
- _f_i_l_e..ff[9900] [_f_i_l_e ..TT]
- Specifies the set of target Fortran source files and their
- derived Compiler Information Files. Source file names can
- be suffixed with either ..ff or ..ff9900. When the ..TT file name
- can be generated by replacing the ..ff or ..ff9900 with a ..TT, you
- do not have to specify the ..TT file name explicitly. The ..ff
- and ..ff9900 files must precede their corresponding ..TT files
- specified.
-
- FFIILLEESS
- These commands look for files named ..ffttnnlliinnttrrcc or ..ccfflliinnttrrcc in your
- home directory and the current working directory; they concatenate
- them (in that order); and they prepend the resulting string to the
- command line options. The ..ffttnnlliinnttrrcc or ..ccfflliinnttrrcc file can contain
- any combination of command line options, but a maximum of one
- --oo _f_i_l_e_n_a_m_e option is allowed. The ..ffttnnlliinnttrrcc or ..ccfflliinnttrrcc file
- cannot contain file names. Newline characters are silently converted
- to blanks. The command line options are processed left to right, so
- options included in the ..ffttnnlliinnttrrcc or ..ccfflliinnttrrcc file can be
- overridden.
-
- NNOOTTEESS
- ffttnnlliinntt and ccfflliinntt output is not designed to be used as input to other
- tools.
-
- These tools perform only limited analysis of subprograms that contain
- syntax errors.
-
- For more information about writing and using tools based on output
- from an ff9900 compilation, see the _C_o_m_p_i_l_e_r _I_n_f_o_r_m_a_t_i_o_n _F_i_l_e (_C_I_F)
- _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2401. SR-2401, a Cray Research
- publication, contains information for UNICOS and UNICOS/mk systems
- only.
-
- These tools perform limited EEQQUUIIVVAALLEENNCCEE analysis, which assumes that
- if a local variable appears in an EEQQUUIIVVAALLEENNCCEE statement, it is not
- subject to analysis (for example, uussee bbeeffoorree ddeeffiinniittiioonn).
-
- The ffttnnlliinntt and ccfflliinntt commands are a subset of the ffttnnlliisstt(1) and
- ccfflliisstt(1) commands.
-
- EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
- If the FFTTNNLLIINNTTRRCC environment variable is set to OOFFFF or the CCFFLLIINNTTRRCC
- environment variable is set to OOFFFF, all ..ffttnnlliinnttrrcc and ..ccfflliinnttrrcc files
- are silently ignored.
-
- RREETTUURRNN VVAALLUUEESS
- The ffttnnlliinntt and ccfflliinntt commands return 0 on normal completion and
- nonzero for abnormal termination.
-
- BBUUGGSS
- ffttnnlliinntt and ccfflliinntt accept Fortran program source files that end in ..FF
- or ..FF9900, but some of the functionality described on this man page is
- not present for files with ..FF and ..FF9900 suffixes.
-
- SSEEEE AALLSSOO
- ccfflliisstt(1), ffttnnlliisstt(1), ff9900(1)
-
- _C_o_m_p_i_l_e_r _I_n_f_o_r_m_a_t_i_o_n _F_i_l_e (_C_I_F) _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2401
-
- SR-2401, a Cray Research publication, describes the CIF only for
- UNICOS and UNICOS/mk systems.
-
- This man page is available only online.
-